package game.handler;

import com.msg.MsgGame;
import com.msg.MsgMain;
import com.msg.MsgRole;
import net.message.MsgPack;
import util.LogUtil;
import util.MsgFunction;

public class MsgClientHandler {

    @MsgFunction(MsgMain.MessageType.SC_Login)
    public void SCLogin(MsgPack msgPack) {
        MsgGame.SCLogin msg = msgPack.getMainProtocl().getSCLogin();
        if (msg.getResult()) {
            LogUtil.game.debug("登录成功:" + msgPack.getClient().getToken() + "  线程：" + Thread.currentThread().getName());
            MsgMain.MainProtocl.Builder msgMain = MsgMain.MainProtocl.newBuilder();
            if (msg.getRoleListList().isEmpty()) {
                //创建角色
                msgMain.setMessageType(MsgMain.MessageType.CS_CreateRole);
                MsgRole.CSCreateRole.Builder msgCreateRole = MsgRole.CSCreateRole.newBuilder();
                msgCreateRole.setName(msgPack.getClient().getToken());
                msgMain.setCSCreateRole(msgCreateRole);
            } else {
                //默认登录首个角色
                msgMain.setMessageType(MsgMain.MessageType.CS_RoleLogin);
                MsgRole.CSRoleLogin.Builder msgRoleLogin = MsgRole.CSRoleLogin.newBuilder();
                msgRoleLogin.setRoleId(msg.getRoleListList().get(0).getRoleId());
                msgMain.setCSRoleLogin(msgRoleLogin);
            }
            msgPack.getClient().sendMsg(msgMain);

            msgPack.getClient().setLoginOK(true);
        } else {
            LogUtil.game.warn("登录失败:" + msgPack.getClient().getToken() + "  线程：" + Thread.currentThread().getName());
        }
    }

    @MsgFunction(MsgMain.MessageType.SC_CreateRole)
    public void SCCreateRole(MsgPack msgPack) {
        MsgRole.SCCreateRole msg = msgPack.getMainProtocl().getSCCreateRole();
    }

    @MsgFunction(MsgMain.MessageType.SC_RoleLogin)
    public void SCRoleInfo(MsgPack msgPack) {
        MsgRole.SCRoleLogin msg = msgPack.getMainProtocl().getSCRoleLogin();
    }
}
